// pages/add/add.js
const {formatDateTime} = require("../../utils/formatTaskTime")
const {getToday} = require("../../utils/util")
Page({
    /**
     * 页面的初始数据
     */
    data: {
        start:"",
        end:"",
        range_:["每日重复","每周重复","每月重复","默认一次"],
        repeat_:"",
        isRemind:"false",
        str_:"",
        tipsflag:{"记账":2,"个人":0,"工作":1},
        tips:''
        
    },

    /**
     * 生命周期函数--监听页面加载
     */
    //获取textarea的文字输入
    getText(e){
        this.setData({str_:e.detail.value})
    }, 
    // 获取个人 工作 记账某一个
    tipShow(e){this.setData({tips:e.detail.value})}, 
    // 获取开始时间
    startTime(e){
        console.log(e.detail.value,"开始时间");
        this.setData({start: e.detail.value})
    },
    // 获取结束时间
    endTime(e){this.setData({end: e.detail.value})}, 
    // 获取重复
    repeatFun(e){
        const index = e.detail.value
        this.setData({repeat_:this.data.range_[index]})
    },
    // 获取是否提醒
    remindFun(e){ this.setData({isRemind:e.detail.value})},
    // 提交按钮
    submit(e){
        wx.cloud.init()
        // 获取任务分类
        // 判断文字是否为空
        let text = this.data.str_
        // let tip = this.data.tips==undefined?"每日重复":this.data.tips
        const {year,month,day} = this.data.year_obj
        let start = this.data.start==""?"00:00":this.data.start
        let end = this.data.end==""?"00:00":this.data.end
        let repeat = this.data.repeat_==""?"默认一次":this.data.repeat_
        let isRepreatType = {"默认一次":0,"每日重复":1,"每周重复":2,"每月重复":3}[repeat]
        let isremind = this.data.isRemind
        console.log(isremind);
        let startTime = formatDateTime(new Date(`${year}-${month}-${day} ${start}`))
        let endTime = formatDateTime(new Date(`${year}-${month}-${day} ${end}`))
        const {y,m,d,h_m} = getToday()
        const today = formatDateTime(new Date(`${y}-${m}-${d} ${h_m}`))
        // 时间不能小于现在
        if(endTime<today){
            wx.showToast({
              title: '时间不能小于现在',
              icon:"none"
            })
            return
        }
        // 个人 工作 记账必须填写
        if(this.data.tips==''){
            wx.showToast({
              title: '必须勾选',
              icon:"none"
            })
            return
        }

        // 首先文字要存在
        // 结束时间大于开始时间
        if(text!=""&end>=start){
            // 调用云函数将任务写入数据库
            console.log(e);
            console.log("开始时间",startTime,"结束时间",endTime,isRepreatType,isremind,text);
            wx.cloud.callFunction({
                name:"userSchduleService",
                data:{
                    activateDate:`${year}-${month}-${day}`,
                    type:this.data.tipsflag[this.data.tips],
                    startTime:formatDateTime(new Date(`${year}/${month}/${day} ${start}`)),
                    endTime:formatDateTime(new Date(`${year}/${month}/${day} ${end}`)),
                    isRepreatType:isRepreatType,
                    needRemind:isremind,
                    description:text,
                    tag:0,
                    groupId:""
                },
                success:(res)=>{
                    console.log("提交任务成功",res.result);
                    wx.switchTab({
                        url: "/pages/plan/plan",
                      })
                },fail:res=>{console.log("失败",res);}
            })
        
            
            // wx.reLaunch({
            // url: `/pages/plan/plan?text=${text}&tip=${tip}&year=${year}&month=${month}&day=${day}&start=${start}&end=${end}&repeat=${repeat}&isremind=${isremind}&isMulPeople=false`,
            // })
        }else{
            // 弹窗提示消息错误
            wx.showToast({
              title: '输入不能为空或时间输入问题',
              icon:"none"
            })
        }
        

      
        
    },
    // 取消按钮
    cancel(){
        wx.navigateBack()
    },

    onLoad(options) {
        // 引用全局变量
        // 将日历的年月日传过来
        this.setData({year_obj:options})
        
       
    
     
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
      
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})